package com.课上案例练习.线程.线程操作;

/**
 * 线程的优先级
 *
 * 设置线程的优先级
 * 默认优先级为5，最高为10 ，最低为1
 * 如果不在这个范围内则会抛出异常不合法参数异常(IllegalArgumentException)
 *
 * 线程优先级高的，更容易让线程在就绪态中抢到cpu执行权，变成运行态
 * 但是优先级高的，也不一定会获得cpu执行权，也可能优先级低的 获得cpu执行权，
 *
 * - 优先级高的线程得到cpu的执行权的概率要更高一些，但是也不是绝对的。
 */
public class Test4 {
    public static void main(String[] args) {
        Thread t1=new Thread(new Runnable() {
            @Override
            public void run() {
                for(int i=0;i<1000;i++){
                    System.out.println("线程1: "+i);
                }
            }
        });


        Thread t2=new Thread(new Runnable() {
            @Override
            public void run() {
                for(int i=0;i<1000;i++){
                    System.out.println("线程2: "+i);
                }
            }
        });

        //设置优先级
        t1.setPriority(1);
        t2.setPriority(10);

        t1.start();
        t2.start();
    }
}
